classDiagram
    class Client {
        +request()
    }

    class Target {
        +request()
    }

    class Adaptee {
        +specificRequest()
    }

    class Adapter {
        -adaptee: Adaptee
        +Adapter(adaptee: Adaptee)
        +request()
    }

    Client --> Target : uses >
    Adapter ..|> Target : implements
    Adapter o-- Adaptee : has a
